home *** CD-ROM | disk | FTP | other *** search
/ Softdisk G-S 93 / SGDS 93.2mg / SDGS.93 / SDA93 / A / M.GRAPH.FILE (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1989-05-22  |  4.7 KB  |  196 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 10  INVERSE 
  2. 20  PRINT  CHR$(4)"PREFIX": INPUT CTPTH$: PRINT  CHR$(4)"PREFIX"CTPTH$
  3. 6000  REM ======
  4. 6010  REM Diskfn
  5. 6020  REM ======
  6. 6030  CALL BOX,3,5,38,20
  7. 6040  PRINT "   Disk Functions"
  8. 6050  PRINT 
  9. 6060  PRINT "1. Catalog
  10. 6070  PRINT "2. Set Path"
  11. 6080  PRINT "3. Create Subdirectory"
  12. 6090  PRINT "4. Set Default Save Path"
  13. 6100  PRINT "5. Status"
  14. 6110  PRINT "6. Exit"
  15. 6120 PR$ = " Press the number of your choice.": GOSUB 50000
  16. 6130  GET K$
  17. 6140  IF K$ = ES$  THEN 6200
  18. 6150  IF   NOT  VAL(K$)  THEN  GOSUB 51000: GOTO 6120
  19. 6160 M2 =  VAL(K$): IF M2 >6  THEN  GOSUB 51000: GOTO 6120
  20. 6170  ON M2 GOSUB 31000,32000,33000,34000,35000
  21. 6180  IF M2 = 6  THEN 6200
  22. 6190  GOTO 6030
  23. 6200  ONERR  GOTO 10000
  24. 6210  CALL BOX,11,10,18,3: PRINT "   One moment...": PRINT  CHR$(4)"CHAIN M.GRAPH.MAIN"
  25. 10000  CALL  -3288
  26. 10010  POKE 216,0
  27. 10020  CALL BOX,5,5,30,15: PRINT : PRINT "          FATAL ERROR."
  28. 10030  PRINT : PRINT "     Missing a module."
  29. 10040  PRINT : PRINT "  Press a key to exit."
  30. 10050  GET K$
  31. 10060  POKE 104,8: GOTO 150
  32. 31000  REM =======
  33. 31010  REM catalog
  34. 31020  REM =======
  35. 31030  CALL BOX,4,7,37,18
  36. 31040 FC = 0
  37. 31050 CC = 0
  38. 31060  PRINT "   Catalog:"CTPTH$
  39. 31070  IF CTPTH$ < >""  THEN  PRINT :K$ = CTPTH$: GOTO 31090
  40. 31080  PRINT  CHR$(4)"PREFIX": INPUT K$
  41. 31090  ONERR  GOTO 31230
  42. 31100  PRINT  CHR$(4)"OPEN"K$",TDIR"
  43. 31110  PRINT  CHR$(4)"READ"K$
  44. 31120  INPUT K$,K$,K$
  45. 31130  INPUT K$
  46. 31140  IF K$ = ""  THEN  PRINT  CHR$(4)"CLOSE": GOTO 31200
  47. 31150 FC = FC +1
  48. 31160  PRINT  LEFT$(K$,20)
  49. 31170 CC = CC +1
  50. 31180  IF CC = 12  THEN PR$ = "Press a key": GOSUB 50000: POKE 49168,0: WAIT 49152,128: POKE 49168,0: CALL BOX,4,7,37,18:CC = 0: PRINT "   Catalog": PRINT : GOTO 31130
  51. 31190  GOTO 31130
  52. 31200  IF CC  THEN PR$ = "Press a key": GOSUB 50000: GET K$
  53. 31210  IF   NOT FC  THEN  PRINT " No files.":FC = 1:CC = 1: GOTO 31200: REM kludge to catch null cats
  54. 31220  RETURN 
  55. 31230  CALL  -3288: REM FIXERRS
  56. 31240  POKE 216,0
  57. 31250  PRINT  CHR$(4)"CLOSE": GOTO 31200
  58. 32000  REM =======
  59. 32010  REM SETPATH
  60. 32020  REM =======
  61. 32030  CALL BOX,4,7,37,18
  62. 32040  PRINT "   Set Path"
  63. 32050 PR$ = "Enter pathname or ,S#,D#": GOSUB 50000
  64. 32060  CALL BOX,12,10,19,7
  65. 32070  PRINT  CHR$(20):H = 13:V = 11:W = 15:L = 64
  66. 32080  IF CTPTH$ = ""  THEN  PRINT  CHR$(4)"PREFIX": INPUT RNPTH$:CTPTH$ = RNPTH$
  67. 32090 IN$ = CTPTH$
  68. 32100  GOSUB 54000
  69. 32110  ONERR  GOTO 32170
  70. 32120  IF IN$ = ""  THEN 32150
  71. 32130  PRINT  CHR$(4)"PREFIX"IN$
  72. 32140  PRINT  CHR$(4)"PREFIX": INPUT CTPTH$
  73. 32150  PRINT  CHR$(4)"PREFIX"RNPTH$
  74. 32160  RETURN 
  75. 32170  CALL  -3288: REM  FIXERRS
  76. 32180  POKE 216,0
  77. 32190  CALL BOX,4,7,37,18
  78. 32200  CALL BOX,12,10,19,7: PRINT : PRINT "    Can't set        that path."
  79. 32210 PR$ = "Press a key.": GOSUB 50000
  80. 32220  GET K$
  81. 32230  ONERR  GOTO 32250
  82. 32240  GOTO 32150
  83. 32250  CALL BOX,12,10,19,7: PRINT : PRINT "    Fatal error.": PRINT "   Press a key.": GET K$: PRINT  CHR$(4)"bye"
  84. 33000  REM ===================
  85. 33010  REM CREATE SUBDIRECTORY
  86. 33020  REM ===================
  87. 33030  CALL BOX,4,7,37,18
  88. 33040  PRINT "   Create Subdirectory"
  89. 33050 PR$ = "Create what subdirectory?": GOSUB 50000
  90. 33060  CALL BOX,12,10,19,7
  91. 33070  PRINT  CHR$(20):H = 13:V = 11:W = 15:L = 64
  92. 33080 IN$ = CTPTH$
  93. 33090  GOSUB 54000
  94. 33100  IF IN$ = ""  THEN 33160
  95. 33110  ONERR  GOTO 33170
  96. 33120  IF  LEFT$(IN$,1) = "/"  THEN  PRINT  CHR$(4)"create"IN$: GOTO 33140
  97. 33130  PRINT  CHR$(4)"create"CTPTH$IN$
  98. 33140  CALL BOX,4,7,37,18: CALL BOX,12,10,19,7: PRINT : PRINT " Subdirectory": PRINT " created.":PR$ = "Press a key.": GOSUB 50000
  99. 33150  GET K$
  100. 33160  RETURN 
  101. 33170  CALL  -3288
  102. 33180  POKE 216,0
  103. 33190  CALL BOX,4,7,37,18: CALL BOX,12,10,19,7: PRINT : PRINT "    Unable to": PRINT "    create it."
  104. 33200 PR$ = "Press a key.": GOSUB 50000
  105. 33210  GOTO 33150
  106. 34000  REM ===========
  107. 34010  REM set default
  108. 34020  REM ===========
  109. 34030  CALL BOX,4,7,37,18
  110. 34040  PRINT "   Set Default"
  111. 34050 K$ = CTPTH$: IF K$ = ""  THEN K$ = SVPTH$
  112. 34060  FOR C1 = 1 TO 64:K$ = K$ +" ": NEXT :K$ =  LEFT$(K$,64)
  113. 34070  FOR C1 = 1 TO 64: POKE 767 +C1, ASC( MID$ (K$,C1)): NEXT 
  114. 34080  ONERR  GOTO 34160
  115. 34090  PRINT  CHR$(4)"BSAVE"SVPTH$"M.GRAPH.MAIN,A768,L64,B$10,TBAS"
  116. 34100  PRINT  CHR$(4)"BSAVEM.GRAPH.MAIN,A768,L64,B$10,TBAS"
  117. 34110  PRINT : PRINT "The default save path is now"
  118. 34120  PRINT K$
  119. 34130 DFAULTPTH$ = K$
  120. 34140 PR$ = "Press a key": GOSUB 50000
  121. 34150  GET K$: RETURN 
  122. 34160  CALL  -3288
  123. 34170  POKE 216,0
  124. 34180  CALL BOX,4,7,37,18: CALL BOX,12,10,19,7: PRINT : PRINT "    Unable to": PRINT "    set default."
  125. 34190 PR$ = "Press a key.": GOSUB 50000
  126. 34200  GOTO 34150
  127. 35000  REM ======
  128. 35010  REM status
  129. 35020  REM ======
  130. 35030  CALL BOX,4,7,37,18
  131. 35040  PRINT "   Pathname status:"
  132. 35050  PRINT 
  133. 35060  PRINT "  Default will set to:"
  134. 35070  PRINT "  "CT$;: IF CT$ = ""  THEN  PRINT SVPTH$;
  135. 35080  PRINT 
  136. 35090  PRINT "  Mighty Graph will catalog:"
  137. 35100  PRINT "  "CT$;: IF CT$ = ""  THEN  PRINT SVPTH$;
  138. 35110  PRINT 
  139. 35120  PRINT "  Mighty Graph will save files to:"
  140. 35130  PRINT "  "DFAULTPTH$;: IF DFAULTPTH$ = ""  THEN  PRINT SVPTH$;
  141. 35140 PR$ = "Press a key.": GOSUB 50000
  142. 35150  GET K$
  143. 35160  RETURN 
  144. 50000  REM  ==========
  145. 50010  REM Prompt Box
  146. 50020  REM ==========
  147. 50030 W =  LEN(PR$) +2
  148. 50040  CALL BOX,40 -W,21,W,3
  149. 50050  PRINT PR$
  150. 50060  RETURN 
  151. 51000  REM ====
  152. 51010  REM Bell
  153. 51020  REM ====
  154. 51030  CALL  PEEK(121) + PEEK(122) *256 +28: REM  SPEED=   DEL <UNKNOWN TOKEN> SPEED= <CTRL-0x01> DEL <UNKNOWN TOKEN> SPEED= <CTRL-0x02><CTRL-0x18> HGR2 <CTRL-0x14> PLOT 0 TAB(  SPEED= <CTRL-0x02> DEL <UNKNOWN TOKEN> SPEED= $<CTRL-0x18> HGR2 <CTRL-0x08> PLOT 0 TAB(   NOT <UNKNOWN TOKEN> =  STR$`8H RIGHT$<CTRL-0x01> = <UNKNOWN TOKEN>h RIGHT$<CTRL-0x01> = <UNKNOWN TOKEN> ONERR <UNKNOWN TOKEN> -<CTRL-0x01><UNKNOWN TOKEN> RND =  VAL:`
  155. 51040  RETURN 
  156. 53000  REM ===============
  157. 53010  REM text print prmt
  158. 53020  REM ===============
  159. 53030  PRINT  CHR$(4)"PR#0"
  160. 53040  NORMAL : TEXT : HOME : VTAB 12: HTAB 12
  161. 53050  PRINT "PRINTING... PLEASE WAIT.": INVERSE 
  162. 53060  RETURN 
  163. 54000  REM 
  164. 54010  REM ****************************
  165. 54020  REM *                          *
  166. 54030  REM * NAME:OK INPUT            *
  167. 54040  REM * PASS:V = VERT POSN       *
  168. 54050  REM * PASS:H = HORIZ POSN      *
  169. 54060  REM * PASS:W = WIDTH OF INPUT  *
  170. 54070  REM * PASS:L = LENGTH OF INPUT *
  171. 54080  REM * PASS:IN$ = DEFAULT INPUT *
  172. 54090  REM * USES:T$,T,T1,T2,T3,T4,IN$*
  173. 54100  REM * RETN:IN$                 *
  174. 54110  REM *                          *
  175. 54120  REM ****************************
  176. 54130  REM 
  177. 54140  ONERR  GOTO 54330
  178. 54150 IN$ =  LEFT$(IN$,64)
  179. 54160  VTAB V: HTAB H: POKE 32,H -1: POKE 33,W +1: PRINT : VTAB V: HTAB 1: PRINT IN$;:T1 =  PEEK(37) +1:T2 =  PEEK(36) +H: PRINT  CHR$(20);
  180. 54170 T3 = T2 -H:T4 =  LEN(IN$)
  181. 54180  HTAB T2: VTAB T1: PRINT " ": HTAB T2: VTAB T1: PRINT "_"
  182. 54190  IF  PEEK(49152) <128  THEN 54180
  183. 54200  GET T$: IF T$ =  CHR$(13)  THEN 54320
  184. 54210  IF T$ =  CHR$(24)  THEN  FOR T = 1 TO  LEN(IN$):T$ =  CHR$(8): GOSUB 54270: NEXT : GOTO 54180
  185. 54220  IF T$ =  CHR$(27)  THEN  FOR T = 1 TO  LEN(IN$):T$ =  CHR$(8): GOSUB 54270: NEXT : VTAB T1: HTAB T2: PRINT " ": GOTO 54320
  186. 54230  IF T$ =  CHR$(8)  OR T$ =  CHR$(127)  THEN  GOSUB 54270: GOTO 54180
  187. 54240  IF T$ <" "  OR T4 = L  THEN 54180
  188. 54250  VTAB T1: HTAB T2: PRINT T$;:IN$ = IN$ +T$:T2 = T2 +1:T4 = T4 +1:T3 = T3 +1: IF T3 >W  THEN T3 = 0:T2 = H:T1 = T1 +1
  189. 54260  GOTO 54180
  190. 54270  IF H = T2  THEN  IF V = T1  THEN  RETURN 
  191. 54280  IF  LEN(IN$) = 1  THEN IN$ = "": HTAB T2: VTAB T1: PRINT " ";:T2 = H:T1 = V:T4 = 0:T3 = 0: RETURN 
  192. 54290 IN$ =  LEFT$(IN$, LEN(IN$) -1): VTAB T1: HTAB T2: PRINT " ":T2 = T2 -1: IF T2 <H  THEN T2 = H +W:T1 = T1 -1
  193. 54300 T3 = T3 -1: IF T3 <0  THEN T3 = W
  194. 54310 T4 = T4 -1: RETURN 
  195. 54320  HTAB T2: VTAB T1: PRINT " ": POKE 216,0: RETURN 
  196. 54330  CALL  -3288: POKE 216,0: POKE 49168,0: GOTO 54140